/**
 * 接口(InterFaces):主要用来描述对象的状态、行为、描述
 * 0
 * 描述一个人的对象
 * id:是number类型，必须具有的属性，只读（不可更改）
 * name：string类型，必须有
 * age：number类型，必须有
 * sex：boolean类型，必须有
 * phone：string类型，非必须
 * email：string类型，非必须
 */

//定义一个人的接口
//语法：interface 对象的名称（开头大写字母）
interface IPerson {
    readonly id:number,//readonly只读属性，不能更改
    name:string,
    age:number,
    sex:boolean,
    phone?:string,//可选属性，可有可没有 ‘?’(英文)
    email?:string
}
//对象一般用json字符串进行描述  ‘{}’
let person:IPerson={//IPerson必须是接口中定义的规则
    id:1,
    name:"李四",
    age:18,
    sex:true,
    phone:'10086'
}

// person.id=2   只读属性只能在第一次初始化创建时进行赋值，后面都无法进行修改
person.name='张三'
console.log(person);

//接口的作用，约束规范对象中所定义的属性
